home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 7: Sunsite / Linux Cubed Series 7 - Sunsite Vol 1.iso / libs / winlib-0.0 / winlib-0 / win / winlib.h < prev   
Encoding:
C/C++ Source or Header  |  1996-01-02  |  3.3 KB  |  121 lines

  1. /*
  2.  * WINLIB
  3.  * Header file
  4.  */
  5.  
  6. #include <ncurses.h>
  7. #include <panel.h>
  8. #include <gpm.h>
  9.  
  10. #define    MENU_SELECTABLE    0x01    /* Selectable menu */
  11. #define    MENU_DISABLED    0x02    /* Disabled menu */
  12.  
  13. #define    ACS_DULCORNER    (A_ALTCHARSET | 0xC9)
  14. #define    ACS_DURCORNER    (A_ALTCHARSET | 0xBB)
  15. #define    ACS_DLLCORNER    (A_ALTCHARSET | 0xC8)
  16. #define    ACS_DLRCORNER    (A_ALTCHARSET | 0xBC)
  17. #define    ACS_DHLINE    (A_ALTCHARSET | 0xCD)
  18. #define    ACS_DVLINE    (A_ALTCHARSET | 0xBA)
  19.  
  20. #define    OPT_DEBUG    0x0001
  21. #define    OPT_MOUSECOORD    0x0002
  22. #define    OPT_COLOR    0x0004
  23. #define    OPT_SOUND    0x0008
  24. #define    OPT_WAVFILE    0x0010
  25. #define    OPT_USEDEVAUDIO    0x0020
  26. #define    OPT_SOUNDINIT    0x0040
  27.  
  28. #define    CLOSER        0x0001    /* Window has close button */
  29. #define    MOVER        0x0002    /* Window has mover button */
  30. #define    MAXIMIZER    0x0004    /* Window has maximizer button */
  31. #define    MINIMIZER    0x0008    /* Window has minimizer button */
  32. #define    SIZER        0x0010    /* Window has sizer buttons */
  33.  
  34. #define    WM_CREATED    20
  35. #define    WM_DELETED    30
  36. #define    WM_DESTROYED    31
  37. #define    WM_MINIMIZED    40
  38. #define    WM_MAXIMIZED    41
  39. #define    WM_MOVED    50
  40.  
  41. #define    SOUND_OPEN    1    /* Opened window */
  42. #define    SOUND_CLOSE    2    /* Closed window */
  43. #define    SOUND_DESTROY    3    /* Destroyed window */
  44. #define    SOUND_MINIMIZE    4    /* Minimized window */
  45. #define    SOUND_MAXIMIZE    5    /* Maximized window */
  46. #define    SOUND_START    6    /* Started a program */
  47. #define    SOUND_EXIT    7    /* Ended a program */
  48. #define    SOUND_MENUDROP    8    /* A menu dropped down */
  49. #define    SOUND_MENUSEL    9    /* A menu was selected */
  50.  
  51. typedef struct {
  52.     char *item;
  53.     int type, selected;
  54.     void (*function)();
  55. } ITEMS;
  56.  
  57. typedef struct _menustruct {
  58.     char *title;
  59.     ITEMS item[20];
  60.     int x, title_len, index, selected, items;
  61.     struct _menustruct *prev, *next;
  62. } MENU;
  63.  
  64. typedef struct _grectwin {
  65.     int x, y, w, h;
  66. } GRECT;
  67.  
  68. typedef struct _winstruct {
  69.     WINDOW *win, *workwin;
  70.     PANEL *pan, *workpan;
  71.     void (*callback)();
  72.     char *title;
  73.     GRECT cur, orig;
  74.     int mode, index;
  75.     struct _winstruct *prev, *next;
  76. } WIN;
  77.  
  78. extern WINDOW *_main_win, *_menu_win, *_menu_area;
  79. extern PANEL *_main_pan, *_menu_pan, *_menu_area_pan;
  80. extern MENU *_menutree;
  81. extern WIN *_wintree;
  82. extern void (*_keydispatch)(), (*_mousedispatch)();
  83. extern int _has_menu, _cur_title, _showing_menu, _changed, _cur_item,
  84.        _moving_win, _has_win, _cur_window, _xoffset, _moving_idx,
  85.        _sound_socket, _sound_init, _resizing_win, _resize_corner;
  86. extern char *_open_sound, *_close_sound, *_destroy_sound, *_min_sound,
  87.         *_max_sound, *_start_sound, *_exit_sound, *_menudrop_sound,
  88.         *_menusel_sound;
  89.  
  90. /******************************************************   Prototypes   *****/
  91.  
  92. /* Initialization and deinitialization */
  93. void    Win_InitializeNCURSES(void);
  94. void    Win_InitializeGPM(void);
  95. void    Win_InitializeVARIABLES(void);
  96. int    Win_Initialize(void);
  97. int    Win_InitializeSound(void);
  98. void    Win_Deinitialize(void);
  99. char    *Win_GetLibraryVersion(void);
  100. int    Win_GetOptions(void);
  101.  
  102. /* Callback initialization */
  103. void    Win_SetCallbackKEYBOARD(void *);
  104. void    Win_SetCallbackMOUSE(void *);
  105.  
  106. /* Menu functions and routines */
  107. int    Menu_AddTitle(char *);
  108. int    Menu_AddItem(int, char *, int, void *);
  109. int    Menu_AddCheck(int, char *, int);
  110.  
  111. /* Window functions and routines */
  112. WINDOW    *Win_CreateWindow(int, int, int, int, char *, int, void *);
  113.  
  114. /* Sound routines */
  115. void    Win_PlaySound(int);
  116. void    Win_SetSound(int, char *);
  117.  
  118. /* Handler routines */
  119. int    Win_LibHandler(Gpm_Event *, void *);
  120. void    Win_Loop(void);
  121.